package com.turing.post.organization.util;

import java.io.Serializable;
import java.math.BigInteger;
import java.util.Date;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;

/**
 * 商户结算明细
 * @author ln
 */
@SuppressWarnings("serial")
@Entity
@Table(name = "MerchantSettDetail")
public class MerchantSettDetail implements Serializable {

	/**
	 * id
	 */
	private BigInteger mrchSettDetailId;
	/**
	 * 商户号
	 */
	private String merchantNo;
	/**
	 * 发卡商号
	 */
	private String issueCompanyNo;
	/**
	 * 结算日期
	 */
	private Date tranDate;
	/**
	 * 结算时间
	 */
	private Date tranTime;
	/**
	 * 交易类型
	 */
	//预付类型
	public static final String MERCHANTSETTDETAIL_TRANTYPE_PREPAID = "0";
	//结算类型
	public static final String MERCHANTSETTDETAIL_TRANTYPE_SETTLEMENT = "1";
	private String tranType;
	/**
	 * 结算金额
	 */
	private BigInteger amount;
	/**
	 * 商户预付款余额
	 */
	private BigInteger prepaidBalance;
	/**
	 * 记账员
	 */
	private BigInteger operId;
	/**
	 * 备付金账户
	 */
	private BigInteger paidBankAccountId;
	/**
	 * 凭证号
	 */
	private String voucherNo;
	/**
	 * 备注
	 */
	private String remark;

	@Id
	@Column(name = "MRCHSETTDETAILID", nullable = false)
	public BigInteger getMrchSettDetailId() {
		return mrchSettDetailId;
	}
	public void setMrchSettDetailId(BigInteger mrchSettDetailId) {
		this.mrchSettDetailId = mrchSettDetailId;
	}
	@Column(name = "MERCHANTNO", nullable = false)
	public String getMerchantNo() {
		return merchantNo;
	}
	public void setMerchantNo(String merchantNo) {
		this.merchantNo = merchantNo;
	}
	@Column(name = "ISSUECOMPANYNO", nullable = false)
	public String getIssueCompanyNo() {
		return issueCompanyNo;
	}
	public void setIssueCompanyNo(String issueCompanyNo) {
		this.issueCompanyNo = issueCompanyNo;
	}
	@Column(name = "TRANDATE", nullable = false)
	public Date getTranDate() {
		return tranDate;
	}
	public void setTranDate(Date tranDate) {
		this.tranDate = tranDate;
	}
	@Column(name = "TRANTIME", nullable = false)
	public Date getTranTime() {
		return tranTime;
	}
	public void setTranTime(Date tranTime) {
		this.tranTime = tranTime;
	}
	@Column(name = "TRANTYPE", nullable = false)
	public String getTranType() {
		return tranType;
	}
	public void setTranType(String tranType) {
		this.tranType = tranType;
	}
	@Column(name = "AMOUNT", nullable = false)
	public BigInteger getAmount() {
		return amount;
	}
	public void setAmount(BigInteger amount) {
		this.amount = amount;
	}
	@Column(name = "OPERID", nullable = false)
	public BigInteger getOperId() {
		return operId;
	}
	public void setOperId(BigInteger operId) {
		this.operId = operId;
	}
	@Column(name = "PAIDBANKACCOUNTID", nullable = false)
	public BigInteger getPaidBankAccountId() {
		return paidBankAccountId;
	}
	public void setPaidBankAccountId(BigInteger paidBankAccountId) {
		this.paidBankAccountId = paidBankAccountId;
	}
	@Column(name = "VOUCHERNO", nullable = false)
	public String getVoucherNo() {
		return voucherNo;
	}
	public void setVoucherNo(String voucherNo) {
		this.voucherNo = voucherNo;
	}
	@Column(name = "REMARK", nullable = true)
	public String getRemark() {
		return remark;
	}
	public void setRemark(String remark) {
		this.remark = remark;
	}
	@Column(name = "PREPAIDBALANCE", nullable = false)
	public BigInteger getPrepaidBalance() {
		return prepaidBalance;
	}
	public void setPrepaidBalance(BigInteger prepaidBalance) {
		this.prepaidBalance = prepaidBalance;
	}
}
